package com.globo.devsup.client.presenter;

import com.globo.devsup.client.view.IView;
import com.globo.devsup.client.vo.BaseVO;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface Presenter {
    
    public IView pack();
    
    public void setUpViewListeners();
    
    public void updateModelFromView(BaseVO vo);
    
    public void updateViewFromModel(BaseVO vo);
    
    public IView getView();
    
    public void setView(IView view);
    
    public Strategy getOperation();

    public void setOperation(Strategy operation);
    
    public AsyncCallback getCallback(final String syncType);
    
    public final Strategy NoneViewStrategy = new Strategy() {
        public void execute() {}
    };
}
